package org.jeecg.modules.wms.vo;

import lombok.Data;
import org.jeecg.modules.wms.entity.WmsOutboundAllocationPlan;
import java.math.BigDecimal;
import java.util.List;

/**
 * 出库分配结果VO
 */
@Data
public class OutboundAllocationResult {
    
    /**
     * 分配是否成功
     */
    private boolean success;
    
    /**
     * 是否完全满足需求
     */
    private boolean fullySatisfied;
    
    /**
     * 分配方案列表
     */
    private List<WmsOutboundAllocationPlan> allocationPlans;
    
    /**
     * 未满足的物料列表
     */
    private List<UnallocatedMaterial> unallocatedMaterials;
    
    /**
     * 总需求数量
     */
    private BigDecimal totalRequiredQuantity;
    
    /**
     * 总分配数量
     */
    private BigDecimal totalAllocatedQuantity;
    
    /**
     * 总未分配数量
     */
    private BigDecimal totalUnallocatedQuantity;
    
    /**
     * 分配消息
     */
    private String message;
    
    /**
     * 未分配物料信息
     */
    @Data
    public static class UnallocatedMaterial {
        /**
         * 物料编码
         */
        private String materialCode;
        
        /**
         * 物料名称
         */
        private String materialName;
        
        /**
         * 需求数量
         */
        private BigDecimal requiredQuantity;
        
        /**
         * 可用数量
         */
        private BigDecimal availableQuantity;
        
        /**
         * 缺少数量
         */
        private BigDecimal shortageQuantity;
        
        /**
         * 单位
         */
        private String unit;
    }
}
